﻿using System.Collections.Generic;
using RayDen.Library.Entity.Frames;

namespace RayDen.Library.Entity.Interface {
    public interface IParameterBag : IEnumerable<KeyValuePair<string, object >> 
    {
        TValue Get<TValue>(string name);
        TValue Get<TValue>(string name, TValue @default);

        Dictionary<string, object> GetItems();
        void Merge(IParameterBag bag);
    }

    public interface IRayDenLibraryFrame  : IParameterBag  {
        string FrameName { get; set; }
        IEnumerable<IFrameElement> Elements { get; }
    }
}